#include "myhead.h"

//初始化LCD等等
int Init()
{
    /*打开LCD设备文件*/
    fd = open("/dev/fb0",O_RDWR);
    if(fd < 0)
    {
        perror("open lcd fail");
        return 0;
    }

    /*申请LCD的映射空间*/  
    map = mmap(NULL,480*800*4,PROT_READ | PROT_WRITE,
                MAP_SHARED,fd,0);
    if(map == NULL)
    {
        printf("mmap fail\n");
        return -1;
    }

    //为了实现功能，应使用多线程，应保存三个地址
    //打开触摸屏1，触摸屏文件 "/dev/input/event0"
    ts_fd1 = open(TS_PATH, O_RDWR);
    if (-1 == ts_fd1)
    {
        perror("open touch screen1 error");
        exit(1);
    }
    //打开触摸屏2，触摸屏文件 "/dev/input/event0"
    ts_fd2 = open(TS_PATH, O_RDWR);
    if (-1 == ts_fd2)
    {
        perror("open touch screen2 error");
        exit(1);
    }
    //打开触摸屏3，触摸屏文件 "/dev/input/event0"
    ts_fd3 = open(TS_PATH, O_RDWR);
    if (-1 == ts_fd3)
    {
        perror("open touch screen3 error");
        exit(1);
    }
    
    //初始化字库
    Init_Font();

    //判断管道文件是否存在,不存在就创建
    if(access("/tmp/fifo",F_OK) == -1)
    {
        if(mkfifo("/tmp/fifo",0666) == -1)
        {
            perror("mkfifo fail");
            return -1;
        }
    }
    //打开管道文件
    fd_fifo = open("/tmp/fifo",O_RDWR);
    if(fd_fifo == -1)
    {
        perror("open fifo fail");
        return -1;
    }

    //初始化互斥锁
    pthread_mutex_init(&mutex,NULL);

    // 初始化线程属性
    pthread_attr_init(&attr);
    // 设置线程为分离属性
    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
  
    //线程1--显示音量进度条
    if(pthread_create(&tid1,&attr,Pthread_Show_Volume,NULL) == -1)
    {
        perror("pthread_create1 fail");
        return -1;
    }
    //线程2--拖动音量进度条
    if(pthread_create(&tid2,&attr,Pthread_Drag_Volume,NULL) == -1)
    {
        perror("pthread_create2 fail");
        return -1;
    }
    //线程3--显示进度条
    if(pthread_create(&tid3,&attr,Pthread_Show_ProGress_Bar,NULL) == -1)
    {
        perror("pthread_create3 fail");
        return -1;
    }
    //线程4--拖动进度条
    if(pthread_create(&tid4,&attr,Pthread_Drag_ProGress_Bar,NULL) == -1)
    {
        perror("pthread_create4 fail");
        return -1;
    }
	

	
    return 0;

}

//初始化变量
int Data_Init()
{

    //初始化变量
    mplayer = 0;
    music_volume = 30;
    music_next = 0;
    mplayer_mute = 0;
    music_move = 0;

    return 0;
}

//初始化音乐界面
int Music_InterFace_Init()
{
    //ShowJpg(map , "pic/main.jpg" , 0 , 0 , 1 , 1);
    //背景图片
    ShowJpg(map , "pic/music/music.jpg" , 0 , 0 , 1 , 1);
    //暂停图标
    ShowJpg(map , "pic/music/Time_out.jpg" , 370 , 420 , 1 , 1);
    //上一首图标
    ShowJpg(map , "pic/music/Previous.jpg" , 300 , 420 , 1 , 1);
    //下一首图标
    ShowJpg(map , "pic/music/Next.jpg" , 440 , 420 , 1 , 1);
    //快进图标
    ShowJpg(map , "pic/music/Fast_forward.jpg" , 510 , 420 , 1 , 1);
    //后退图标
    ShowJpg(map , "pic/music/Back_off.jpg" , 230 , 420 , 1 , 1);
    //音量图标
    ShowJpg(map , "pic/music/volume.jpg" , 0 , 420 , 1 , 1);
    //喜欢图标
    ShowJpg(map , "pic/music/like.jpg" , 590 , 420 , 1 , 1);
    //列表的上一页图标,列表的下一页图标
    ShowJpg(map , "pic/music/next_list.jpg" , 650 , 360 , 1 , 1);
    //播放列表图标
    ShowJpg(map , "pic/music/bf_list.jpg" , 650 , 0 , 1 , 1);
    //倍速图标
    ShowJpg(map , "pic/music/beisu.jpg" , 0 , 370 , 1 , 1);
    return 0;
}

